Allows more complex conditional logic.
#define VERSION 2 #if VERSION == 1 std::cout << "Version 1\n"; #elif VERSION == 2 std::cout << "Version 2\n"; #else std::cout << "Unknown version\n"; #endif